<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
DRA Systems: OR-Objects 1.2.4: Class  DenseGraph
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
</HEAD>
<BODY BGCOLOR="white">

<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_top"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../drasys/or/graph/BaseGraph.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../drasys/or/graph/EdgeBase.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="DenseGraph.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_drasys.or.graph.Graph">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
drasys.or.graph</FONT>
<BR>
Class  DenseGraph</H2>
<PRE>
java.lang.Object
  |
  +--<A HREF="../../../drasys/or/graph/Graph.html">drasys.or.graph.Graph</A>
        |
        +--<A HREF="../../../drasys/or/graph/BaseGraph.html">drasys.or.graph.BaseGraph</A>
              |
              +--<B>drasys.or.graph.DenseGraph</B>
</PRE>
<HR>
<DL>
<DT>public class <B>DenseGraph</B><DT>extends <A HREF="../../../drasys/or/graph/BaseGraph.html">BaseGraph</A><DT>implements <A HREF="../../../drasys/or/graph/AddI.html">AddI</A></DL>

<P>
A implementation of a graph that is optimized for dense edges.
This graph supports parallel edges and a mixture of directed and undirected edges.
<BR>
The vertex and edge method 'doubleValue()' returns a double value based on the element's value object.
If the value object is not null and either implements 'DoubleI' or is a subclass of 'Number' 
then the returned value is 'value.doubleValue()'.
Otherwise; the value is zero.
<P><FONT COLOR="#CC0000"><FONT SIZE=+1>References:</FONT></FONT><FONT SIZE=+1></FONT><P><B><A NAME="0471513563"HREF="http://www.amazon.com/exec/obidos/ISBN=0471513563/opsresearchcomA/" TARGET="amazon.com">Graphs : Theory and Algorithms</A></B><BR>&nbsp;&nbsp;&nbsp;&nbsp;K. Thulasiraman, M.N.S. Swamy / Paperback / Published 1992<BR>
<P>
<DL>
<DT><B>See Also: </B><DD><A HREF="../../../serialized-form.html#drasys.or.graph.DenseGraph">Serialized Form</A></DL>
<HR>

<P>
<!-- ======== INNER CLASS SUMMARY ======== -->


<!-- =========== FIELD SUMMARY =========== -->

<A NAME="fields_inherited_from_class_drasys.or.graph.Graph"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Fields inherited from class drasys.or.graph.<A HREF="../../../drasys/or/graph/Graph.html">Graph</A></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../drasys/or/graph/Graph.html#_symmetric">_symmetric</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../drasys/or/graph/DenseGraph.html#DenseGraph()">DenseGraph</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../drasys/or/graph/DenseGraph.html#DenseGraph(int)">DenseGraph</A></B>(int&nbsp;vertexCapacity)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../drasys/or/graph/EdgeI.html">EdgeI</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../drasys/or/graph/DenseGraph.html#addEdge(drasys.or.graph.EdgeI)">addEdge</A></B>(<A HREF="../../../drasys/or/graph/EdgeI.html">EdgeI</A>&nbsp;edge)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds a new edge to the graph.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../drasys/or/graph/EdgeI.html">EdgeI</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../drasys/or/graph/DenseGraph.html#addEdge(java.lang.Object, java.lang.Object)">addEdge</A></B>(java.lang.Object&nbsp;fromKey,
        java.lang.Object&nbsp;toKey)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds a new edge to the graph where: value=null, isDirected=false, key=null.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../drasys/or/graph/EdgeI.html">EdgeI</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../drasys/or/graph/DenseGraph.html#addEdge(java.lang.Object, java.lang.Object, java.lang.Object)">addEdge</A></B>(java.lang.Object&nbsp;fromKey,
        java.lang.Object&nbsp;toKey,
        java.lang.Object&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds a new edge to the graph where: isDirected=false, key=null.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../drasys/or/graph/EdgeI.html">EdgeI</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../drasys/or/graph/DenseGraph.html#addEdge(java.lang.Object, java.lang.Object, java.lang.Object, boolean)">addEdge</A></B>(java.lang.Object&nbsp;fromKey,
        java.lang.Object&nbsp;toKey,
        java.lang.Object&nbsp;value,
        boolean&nbsp;isDirected)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds a new edge to the graph where: key=null.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../drasys/or/graph/EdgeI.html">EdgeI</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../drasys/or/graph/DenseGraph.html#addEdge(java.lang.Object, java.lang.Object, java.lang.Object, boolean, java.lang.Object)">addEdge</A></B>(java.lang.Object&nbsp;fromKey,
        java.lang.Object&nbsp;toKey,
        java.lang.Object&nbsp;value,
        boolean&nbsp;isDirected,
        java.lang.Object&nbsp;key)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds a new edge to the graph.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../drasys/or/graph/DenseGraph.html#ensureEdgeCapacity(int)">ensureEdgeCapacity</A></B>(int&nbsp;edgeCapacity)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Increases the capacity of the graph if needed to ensure
it can efficiently hold this many edges.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../drasys/or/graph/EdgeI.html">EdgeI</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../drasys/or/graph/DenseGraph.html#getEdge(drasys.or.graph.VertexI, drasys.or.graph.VertexI, java.lang.Object)">getEdge</A></B>(<A HREF="../../../drasys/or/graph/VertexI.html">VertexI</A>&nbsp;from,
        <A HREF="../../../drasys/or/graph/VertexI.html">VertexI</A>&nbsp;to,
        java.lang.Object&nbsp;edgeKey)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the edge between the from and to vertices whose key matches 'edgeKey'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../drasys/or/graph/EdgeI.html">EdgeI</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../drasys/or/graph/DenseGraph.html#getMutableEdge(drasys.or.graph.VertexI, drasys.or.graph.VertexI, java.lang.Object)">getMutableEdge</A></B>(<A HREF="../../../drasys/or/graph/VertexI.html">VertexI</A>&nbsp;from,
               <A HREF="../../../drasys/or/graph/VertexI.html">VertexI</A>&nbsp;to,
               java.lang.Object&nbsp;edgeKey)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the edge between the from and to vertices whose key matches 'edgeKey'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../drasys/or/graph/DenseGraph.html#isSymmetric()">isSymmetric</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns false by default.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../drasys/or/graph/VertexI.html">VertexI</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../drasys/or/graph/DenseGraph.html#newVertex(java.lang.Object, java.lang.Object)">newVertex</A></B>(java.lang.Object&nbsp;key,
          java.lang.Object&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../drasys/or/graph/DenseGraph.html#toString()">toString</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_drasys.or.graph.BaseGraph"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class drasys.or.graph.<A HREF="../../../drasys/or/graph/BaseGraph.html">BaseGraph</A></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../drasys/or/graph/BaseGraph.html#addVertex(java.lang.Object)">addVertex</A>, 
<A HREF="../../../drasys/or/graph/BaseGraph.html#addVertex(java.lang.Object, java.lang.Object)">addVertex</A>, 
<A HREF="../../../drasys/or/graph/BaseGraph.html#addVertex(drasys.or.graph.VertexI)">addVertex</A>, 
<A HREF="../../../drasys/or/graph/BaseGraph.html#ensureVertexCapacity(int)">ensureVertexCapacity</A>, 
<A HREF="../../../drasys/or/graph/BaseGraph.html#getChangeCount()">getChangeCount</A>, 
<A HREF="../../../drasys/or/graph/BaseGraph.html#getVertex(java.lang.Object)">getVertex</A>, 
<A HREF="../../../drasys/or/graph/BaseGraph.html#removeAllVertices()">removeAllVertices</A>, 
<A HREF="../../../drasys/or/graph/BaseGraph.html#sizeOfDirectedEdges()">sizeOfDirectedEdges</A>, 
<A HREF="../../../drasys/or/graph/BaseGraph.html#sizeOfEdges()">sizeOfEdges</A>, 
<A HREF="../../../drasys/or/graph/BaseGraph.html#sizeOfVertices()">sizeOfVertices</A>, 
<A HREF="../../../drasys/or/graph/BaseGraph.html#vertices()">vertices</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_drasys.or.graph.Graph"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class drasys.or.graph.<A HREF="../../../drasys/or/graph/Graph.html">Graph</A></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../drasys/or/graph/Graph.html#edges()">edges</A>, 
<A HREF="../../../drasys/or/graph/Graph.html#equals(java.lang.Object)">equals</A>, 
<A HREF="../../../drasys/or/graph/Graph.html#getEdge(drasys.or.graph.EdgeI)">getEdge</A>, 
<A HREF="../../../drasys/or/graph/Graph.html#getEdge(java.lang.Object, java.lang.Object, java.lang.Object)">getEdge</A>, 
<A HREF="../../../drasys/or/graph/Graph.html#isSubsetOf(drasys.or.graph.GraphI)">isSubsetOf</A>, 
<A HREF="../../../drasys/or/graph/Graph.html#mutableEdges()">mutableEdges</A>, 
<A HREF="../../../drasys/or/graph/Graph.html#setSymmetric(java.lang.Boolean)">setSymmetric</A>, 
<A HREF="../../../drasys/or/graph/Graph.html#toString(java.lang.String)">toString</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class java.lang.Object</B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, 
finalize, 
getClass, 
hashCode, 
notify, 
notifyAll, 
wait, 
wait, 
wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ FIELD DETAIL =========== -->


<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="DenseGraph()"><!-- --></A><H3>
DenseGraph</H3>
<PRE>
public <B>DenseGraph</B>()</PRE>
<DL>
</DL>
<HR>

<A NAME="DenseGraph(int)"><!-- --></A><H3>
DenseGraph</H3>
<PRE>
public <B>DenseGraph</B>(int&nbsp;vertexCapacity)</PRE>
<DL>
</DL>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="isSymmetric()"><!-- --></A><H3>
isSymmetric</H3>
<PRE>
public boolean <B>isSymmetric</B>()</PRE>
<DL>
<DD>Returns false by default. 
If 'setSymmetric' has been called, then the override value is returned.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="ensureEdgeCapacity(int)"><!-- --></A><H3>
ensureEdgeCapacity</H3>
<PRE>
public void <B>ensureEdgeCapacity</B>(int&nbsp;edgeCapacity)</PRE>
<DL>
<DD>Increases the capacity of the graph if needed to ensure
it can efficiently hold this many edges.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="addEdge(java.lang.Object, java.lang.Object)"><!-- --></A><H3>
addEdge</H3>
<PRE>
public <A HREF="../../../drasys/or/graph/EdgeI.html">EdgeI</A> <B>addEdge</B>(java.lang.Object&nbsp;fromKey,
                     java.lang.Object&nbsp;toKey)
              throws <A HREF="../../../drasys/or/graph/DuplicateEdgeException.html">DuplicateEdgeException</A>,
                     <A HREF="../../../drasys/or/graph/VertexNotFoundException.html">VertexNotFoundException</A></PRE>
<DL>
<DD>Adds a new edge to the graph where: value=null, isDirected=false, key=null.
Throws 'VertexNotFoundException' if either vertex is not in the graph.
Throws 'DuplicateEdgeException' if the edge already exists.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="addEdge(java.lang.Object, java.lang.Object, java.lang.Object)"><!-- --></A><H3>
addEdge</H3>
<PRE>
public <A HREF="../../../drasys/or/graph/EdgeI.html">EdgeI</A> <B>addEdge</B>(java.lang.Object&nbsp;fromKey,
                     java.lang.Object&nbsp;toKey,
                     java.lang.Object&nbsp;value)
              throws <A HREF="../../../drasys/or/graph/DuplicateEdgeException.html">DuplicateEdgeException</A>,
                     <A HREF="../../../drasys/or/graph/VertexNotFoundException.html">VertexNotFoundException</A></PRE>
<DL>
<DD>Adds a new edge to the graph where: isDirected=false, key=null.
Throws 'VertexNotFoundException' if either vertex is not in the graph.
Throws 'DuplicateEdgeException' if the edge already exists.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="addEdge(java.lang.Object, java.lang.Object, java.lang.Object, boolean)"><!-- --></A><H3>
addEdge</H3>
<PRE>
public <A HREF="../../../drasys/or/graph/EdgeI.html">EdgeI</A> <B>addEdge</B>(java.lang.Object&nbsp;fromKey,
                     java.lang.Object&nbsp;toKey,
                     java.lang.Object&nbsp;value,
                     boolean&nbsp;isDirected)
              throws <A HREF="../../../drasys/or/graph/DuplicateEdgeException.html">DuplicateEdgeException</A>,
                     <A HREF="../../../drasys/or/graph/VertexNotFoundException.html">VertexNotFoundException</A></PRE>
<DL>
<DD>Adds a new edge to the graph where: key=null.
Throws 'VertexNotFoundException' if either vertex is not in the graph.
Throws 'DuplicateEdgeException' if the edge already exists.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="addEdge(drasys.or.graph.EdgeI)"><!-- --></A><H3>
addEdge</H3>
<PRE>
public <A HREF="../../../drasys/or/graph/EdgeI.html">EdgeI</A> <B>addEdge</B>(<A HREF="../../../drasys/or/graph/EdgeI.html">EdgeI</A>&nbsp;edge)
              throws <A HREF="../../../drasys/or/graph/DuplicateEdgeException.html">DuplicateEdgeException</A>,
                     <A HREF="../../../drasys/or/graph/VertexNotFoundException.html">VertexNotFoundException</A></PRE>
<DL>
<DD>Adds a new edge to the graph.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="addEdge(java.lang.Object, java.lang.Object, java.lang.Object, boolean, java.lang.Object)"><!-- --></A><H3>
addEdge</H3>
<PRE>
public final <A HREF="../../../drasys/or/graph/EdgeI.html">EdgeI</A> <B>addEdge</B>(java.lang.Object&nbsp;fromKey,
                           java.lang.Object&nbsp;toKey,
                           java.lang.Object&nbsp;value,
                           boolean&nbsp;isDirected,
                           java.lang.Object&nbsp;key)
                    throws <A HREF="../../../drasys/or/graph/DuplicateEdgeException.html">DuplicateEdgeException</A>,
                           <A HREF="../../../drasys/or/graph/VertexNotFoundException.html">VertexNotFoundException</A></PRE>
<DL>
<DD>Adds a new edge to the graph.
Throws 'VertexNotFoundException' if either vertex is not in the graph.
Throws 'DuplicateEdgeException' if the edge already exists.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="newVertex(java.lang.Object, java.lang.Object)"><!-- --></A><H3>
newVertex</H3>
<PRE>
protected <A HREF="../../../drasys/or/graph/VertexI.html">VertexI</A> <B>newVertex</B>(java.lang.Object&nbsp;key,
                            java.lang.Object&nbsp;value)</PRE>
<DL>
<DD><DL>
<DT><B>Overrides:</B><DD><A HREF="../../../drasys/or/graph/BaseGraph.html#newVertex(java.lang.Object, java.lang.Object)">newVertex</A> in class <A HREF="../../../drasys/or/graph/BaseGraph.html">BaseGraph</A></DL>
</DD>
</DL>
<HR>

<A NAME="getMutableEdge(drasys.or.graph.VertexI, drasys.or.graph.VertexI, java.lang.Object)"><!-- --></A><H3>
getMutableEdge</H3>
<PRE>
public <A HREF="../../../drasys/or/graph/EdgeI.html">EdgeI</A> <B>getMutableEdge</B>(<A HREF="../../../drasys/or/graph/VertexI.html">VertexI</A>&nbsp;from,
                            <A HREF="../../../drasys/or/graph/VertexI.html">VertexI</A>&nbsp;to,
                            java.lang.Object&nbsp;edgeKey)</PRE>
<DL>
<DD>Get the edge between the from and to vertices whose key matches 'edgeKey'.
The graph is allowed to return a mutable edge if that is more efficient, 
but the edge contents must be used before 'getMutableEdge()' is called again.
The arguments 'from' and 'to' must be vertices from this graph.
The argument 'edgeKey' is not used.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>Null if the edge is not in the graph.</DL>
</DD>
</DL>
<HR>

<A NAME="getEdge(drasys.or.graph.VertexI, drasys.or.graph.VertexI, java.lang.Object)"><!-- --></A><H3>
getEdge</H3>
<PRE>
public <A HREF="../../../drasys/or/graph/EdgeI.html">EdgeI</A> <B>getEdge</B>(<A HREF="../../../drasys/or/graph/VertexI.html">VertexI</A>&nbsp;from,
                     <A HREF="../../../drasys/or/graph/VertexI.html">VertexI</A>&nbsp;to,
                     java.lang.Object&nbsp;edgeKey)</PRE>
<DL>
<DD>Get the edge between the from and to vertices whose key matches 'edgeKey'.
The arguments 'from' and 'to' must be vertices from this graph.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>Null if the edge is not in the graph.</DL>
</DD>
</DL>
<HR>

<A NAME="toString()"><!-- --></A><H3>
toString</H3>
<PRE>
public java.lang.String <B>toString</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Overrides:</B><DD>toString in class java.lang.Object</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>

<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../drasys/or/graph/BaseGraph.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../drasys/or/graph/EdgeBase.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="DenseGraph.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_drasys.or.graph.Graph">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->

<HR>
Copyright(C)1997-2000 by DRA Systems all rights reserved. <A HREF=http://OpsResearch.com TARGET=HOME>OpsResearch.com</A>
</BODY>
</HTML>
